<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
   <META NAME="Author" CONTENT="Doraemon">
   <META NAME="title" CONTENT="tkjmdict">
   <META  name="description" content="tkjmdict Tcl/Tk dictionary application for Jim Breen's Japanese Multilingual dictionary">
   <META name="keywords"  content="tkjmdict JMdict Japanese electronic dictionary">
   <TITLE>tkjmdict</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">

[<a href="#what">What is tkjmdict?</a>]
[<a href="#sysreq">System requirements</a>]
[<a href="#main">Short user guide</a>]
[<a href="#copying">Copying policy and non-warranty</a>]
[<a href="#tkjmdictlic">JMdict license information</a>]
[<a href="#download">Download tkjmdict</a>]
[<a href="#parser">JMdict parser</a>]
[<a href="#searchstats">Search time statistics</a>]
[<a href="http://www.iki.fi/petterik/mail.php">contact author</a>]
<p>

<h2>tkjmdict 0.95</h2>

<h3>New in Release 0.95</h3>
<ul>
<li>Application ported to modern version of Tcl/Tk and JMdict.
<li>Use the tdom parser.
<li>Searches are case-insensitive.
</ul>

<a name="what"></a>
<h3>What is tkjmdict?</h3>
<dl><dl>

<p>
<code>tkjmdict</code> is a free program for searching words from 
the Japanese multilingual dictionary, also known as the JMdict.
JMdict, of course, is compiled and maintained by 
<a href="http://www.dgs.monash.edu.au/~jwb/">Jim Breen</a> and 
<a href="http://www.edrdg.org/"
>The Electronic Dictionary Research and Development Group</a>
at Monash University, Australia.
Currently JMdict has more than 150000 entries translated to English. 
Some entries are translated also to German, French, and Russian.
</p>

<p>
With this application, you can search dictionary entries with romaji,
kana, or kanji keywords.  If you lack the appropriate Japanese input
method support in you computer, there is also a virtual keyboard (Kana
Board, type CTRL-J) for entering hirakana and katagana.  Searching
with kanji keywords is supported if you can copy/paste them to the
input field.
</p>

</dl></dl>

<a name="sysreq"></a>
<h3>System requirements</h3>

<dl><dl>
<dt><b>Hardware</b>
    <dl>
    In short, any modern computer should do.
    This program reads the whole dictionary into memory and with
    English dictionary it means about 40MB.
    For this reason I wouldn't recommend anybody to try this
    out with anything less than 64MB of RAM. 
    Full search with 363MHz Pentium-II takes about three seconds.
    See also <a href="#searchstats">search time statistics</a>.
    </dl>
<dt><b>Software</b>
<dl>
This program has been implemented by using 
<a href="http://tcl.activestate.com/">Tcl/Tk</a> scripting language
and you can use it on several platforms: GNU/Linux, UNIX, Mac OS X or Windows.
Consider one of the following:
<ol>
<li>Windows users can download a single binary executable which 
includes Tcl/Tk, <code>tkjmdict</code>, and the dictionary data files.
You need then only to install one executable to your computer.
Link to this file can be found from 
the <a href="#download">download</a> section.
<li>Install Tcl/Tk to your computer, version 8.5 or newer is recommended.
You can get Tcl/Tk for free from 
<a href="http://tcl.activestate.com/">http://tcl.activestate.com/</a>
Debian and Ubunto users can simply type:
<dl>
<code>sudo apt-get install tcl tk tdom</code>
</dl>
After this you only neeed the <code>tkjmdict</code> script and the
pre-processed dictionary files - see the 
<a href="#download">download</a> section below for details.
<li>Instead of installing the entire Tcl/Tk, you can go and get
<a href="http://freewrap.sourceforge.net/">freeWrap</a> 
and use it to run the <code>tkjmdict</code> script.
</ol>
</dl>
<dt><b>Japanese Fonts</b>
<dl>
Naturally you will need some font that include Japanese characters. 
</dl>
</dl></dl>

<a name="main"></a>
<h3>Short user guide</h3>
<dl><dl>
<dt><b>The main window</b>
    <p><center><img src="main.jpeg" alt="main.jpeg"></center><p>
    <dl><dl><ol>
    <li>The text area where search results are shown. 
    <li>The input keyword entry field - typing <b>Ctrl-n</b> puts
    focus to this field.
    <li>Search options, use <b>Ctrl-m</b> to toggle the selected mode. 
    <li>Search button, shortcut key is <b>Ctrl-s</b>.
    <li>Number of matches found in the last search.
    </ol></dl></dl>
    <p>
<dt><b>Kana Board</b> - select 'Insert Kana' from 'Options' menu or press 
    <b>Ctrl-j</b>. You will then get a new window like this one:
    <p><center><img src="kb1.jpeg" alt="kb1.jpeg"></center><p>
    When this window is active, the following key bindings are defined:
    <ul>
    <li>Take mouse over the window click on the character;
    the same character is inserted into the input field.
    <li>In order to make the search, press <b>Enter</b> or <b>Ctrl-s</b>.
    <li>Press the <b>Tabulator</b> key to get the next virtual keyboard.
    There are six of them altogether: 
    <a href="kb1.jpeg">[1]</a>,
    <a href="kb2.jpeg">[2]</a>,
    <a href="kb3.jpeg">[3]</a>,
    <a href="kb4.jpeg">[4]</a>,
    <a href="kb5.jpeg">[5]</a>, and
    <a href="kb6.jpeg">[6]</a>.
    <li>Press any of the number keys from <b>1</b> to <b>6</b> and
    you will get the corresponding virtual keyboard to use.
    <li>In order to close the keyboard window, press the 
    <b>Escape</b> key.
    </ul>
    <p>
<dt><b>Changing language</b> - see 'Languages' from 'Options' menu.<p>
<dt><b>Start tkjmdict with German dictionary loaded</b> - use command
    line option <b>-lang</b>, for instance:
    <p><dl><dt><code>tkjmdict -lang ger</code></dl><p>
<dt><b>Quit tkjmdict</b> - type <b>Ctrl-q</b>.
</dl></dl>

<a name="copying"></a>
<h3>Copying policy and non-warranty</h3>
<dl><dl>
<code>tkjmdict</code> - Tcl/Tk application for JMdict<br>
Copyright (C) 2000-2012
<a href="http://www.iki.fi/petterik/">Petteri Kettunen</a><br>  
<p>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
<p>
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
<p>
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA
</dl></dl>

<a name="tkjmdictlic"></a>
<h3>JMdict license information</h3>

<dl><dl>

Tkjmdict uses the JMdict dictionary. The file is the property of the
<a href="http://www.edrdg.org/">Electronic Dictionary Research and Development Group</a>, and is used in
conformance with the Group's <a href="licence.html">licence</a>.

</dl></dl>

<a name="download"></a>
<h3>Download TkJMdict</h3>
<dl><dl>
<dt><a href="http://code.google.com/p/tkjmdict/downloads/list">Download directory</a> contains:
<dt><b>Sources</b>  - you need to have Tcl/Tk installed in order to use
    these scripts
    <ul>
    <li><code>tkjmdict-&lt;version&gt;-src.zip</code>: 
        sources only, no dictionary data.
    </ul>
<dt><b>FreeWrap'ed Windows executable</b> - Tcl/Tk included
    <ul>
    <li><code>tkjmdict-&lt;version&gt;.zip</code>:
        standalone executable, dictionaries included.
    </ul>
<dt><b>Source Checkout</b>:<br>
    <dl><dl>
    <code>svn checkout http://tkjmdict.googlecode.com/svn/trunk/ tkjmdict-read-only</code></br>
    <code>cd tkjmdict</code><br>
    <code>make parse</code><br>
    <code>wish tkjmdict</code><br>
    </dl></dl>


</dl></dl>

<a name="parser"></a>
<h3>JMdict parser</h3>
<dl><dl>
<dt>The parser that generates the data dictionary files (jmdict_*.bin) 
    from JMdict XML file is inclusive in the <code>tkjmdict</code> code.
    The <a href="http://tdom.github.com">tdom</a> is an additional requirement 
    for this (ActiveTcl from ActiveState includes this additional library
    by default).  
    Note that Tk is not required for parsing, so you can just type:<p>
    <dl>
    <dt><code>tclsh tkjmdict -parse &lt;path to JMdict XML file&gt;</code>
    </dl><p>
    As an side effect, file <i>jmdict.log</i> is produced that contains some
    simple information on the parsed dictionaries.
</dl></dl>


<a name="searchstats"></a>
<h3>Search time statistics</h3>
<dl><dl>
There is a build-in benchmark code that can be executed by pressing
key combination <b>Ctrl-T</b> (Control-Shift-t). It makes ten searches and
then displays the results. Patience... it may take couple of
seconds. Search time is calculated each time. 
You can view general search statistics
by pressing <b>Ctrl-t</b> (Control-t).<p> 

<center>
<TABLE BORDER=1 COLS=5>
<TR>
   <TD>Processor</TD><TD>Clock Speed (MHz)</TD><TD>OS</TD>
   <TD>load time of en dictionary (sec)</TD>
   <TD>Avg search time (sec)</TD>
   <TD>tkjmdict/Tcl version/JMdict version</TD>
</TR>
<TR>
   <TD>Intel Centrino Pro</TD><TD>2000</TD><TD>Ubuntu 11.10</TD>
   <TD>2.132</TD><TD>0.2</TD><TD>0.95/8.5.10/2012-01-20</TD>
</TR>
<TR>
   <TD>Pentium Xeon</TD><TD>3040</TD><TD>Win2k</TD>
   <TD>1.641</TD><TD>0.4</TD><TD>0.94/8.4.1/2003-03 10 June</TD>
</TR>
<TR>
   <TD>Pentium 4</TD><TD>2800</TD><TD>Win2k</TD>
   <TD>1.935429</TD><TD>0.4611479</TD><TD>0.94/8.4.1/2003-03 10 June</TD>
</TR>
<TR>
   <TD>Pentium Celeron</TD><TD>1300</TD><TD>GNU/Linux 2.4.18-14 (RH8.0)</TD>
   <TD>4.550</TD><TD>1.1393</TD><TD>0.93/8.3.5/2003.02.04</TD>
</TR>
<TR>
   <TD>Pentium-II</TD><TD>361</TD><TD>Win98 SE 4.10</TD>
   <TD>11.8</TD><TD>3.3</TD><TD>0.93/8.3.5/2003.02.04</TD>
</TR>
<TR>
   <TD>PPC G4</TD><TD>400</TD><TD>Darwin 5.5</TD>
   <TD>19.878</TD><TD>6.112</TD><TD>0.93/8.4a4/2003.02.04</TD>
</TR>
<TR>
   <TD>Pentium-II</TD><TD>363</TD><TD>WinNT 4.0</TD>
   <TD>7.741</TD><TD>2.2713</TD><TD>0.91/8.3.2/2001-xx-xx</TD>
</TR>
<TR>
   <TD>PPC G4</TD><TD>400</TD><TD>Darwin 1.4</TD>
   <TD>13.335</TD><TD>3.738</TD><TD>0.91/8.4a4/2001-xx-xx</TD>
</TR>
</TABLE>
</center>

</dl></dl>

</dl></dl>

</body>
</html>

